package com.ys.nms.module.business.dal.dataobject.linksManual;

import com.ys.nms.framework.mybatis.core.dataobject.BaseSlaveDO;
import com.ys.nms.framework.tenant.core.aop.TenantIgnore;
import com.ys.nms.module.business.dal.dataobject.devices.DevicesDO;
import lombok.*;
import java.util.*;
import com.baomidou.mybatisplus.annotation.*;
import com.ys.nms.framework.mybatis.core.dataobject.BaseDO;

/**
 * 线路-手动 DO
 *
 * @author zzy
 */
@TableName("links_manual")
@KeySequence("links_manual_seq") // 用于 Oracle、PostgreSQL、Kingbase、DB2、H2 数据库的主键自增。如果是 MySQL 等数据库，可不写。
@Data
@EqualsAndHashCode(callSuper = true)
@ToString(callSuper = true)
@Builder
@NoArgsConstructor
@AllArgsConstructor
@TenantIgnore
public class LinksManualDO extends BaseSlaveDO {

    /**
     * ID
     */
    @TableId
    private Integer id;
    /**
     * 本地端口
     */
    private Integer localPortId;
    /**
     * 本地设备 ID，
     */
    private Integer localDeviceId;
    /**
     * 远端端口 ID
     */
    private Integer remotePortId;
    /**
     * 路是否激活（1=启用，0=禁用）
     */
    private Integer active;
    /**
     * 协议类型
     */
    private String protocol;
    /**
     * 远端设备主机名
     */
    private String remoteHostname;
    /**
     * 远端设备在 LibreNMS 中的 ID
     */
    private Integer remoteDeviceId;
    /**
     * 远端物理端口名称
     */
    private String remotePort;
    /**
     * 远端设备平台信息
     */
    private String remotePlatform;
    /**
     * 远端设备系统版本
     */
    private String remoteVersion;
    /**
     * 是否手动默认0自动1手动
     */
    private String manual;
    /**
     * 是否是关联链路0否1是
     */
    private Integer isCritical;
    /**
     * 名称
     */
    private String sysname;
    /**
     * 画板id
     */
    private Integer boardId;
    /**
     * 警戒线
     */
    private Integer warningLine;


    @TableField(exist = false)
    private DevicesDO devices;

    @TableField(exist = false)
    private String localIcon;

    @TableField(exist = false)
    private String remoteIcon;

    @TableField(exist = false)
    private String localDeviceName;

    @TableField(exist = false)
    private String remoteDeviceName;

    @TableField(exist = false)
    private String remotePortName;

    @TableField(exist = false)
    private String  localPortName;

}
